const { User } = require('../../model/user.js');
const bcrypt = require('bcrypt');

module.exports = async (req, res, next) => {
	//获取传递过来的id
	const id = req.query.id;
	//获取客户端传递过来要修改的数据
	const { username, email, role, state, password} = req.body;
	//根据id查询对象
	let user = await User.findOne({_id: id});
	//密码比对
	const isEqual = await bcrypt.compare(password, user.password);
	
	if (isEqual) {
		 // res.send('密码比对成功');
		 //将用户信息更新到数据库中
		 await User.updateOne({_id: id}, {
		 	username: username,
		 	email: email,
		 	role: role,
		 	state: state
		 });
		 //将页面重定向到用户列表页面
		 res.redirect('/admin/user');
	} else {
		 // res.send('密码比对失败');
		 let obj = {path: '/admin/user-edit', message: '密码比对失败，不能进行用户信息的修改', id: id};
		 next(JSON.stringify(obj));
	}
	// res.send(user);
}